"""读取excel时间，做时间转化"""
import xlrd
from datetime import datetime
from scripts import base
from analysis import models


class ReadExcel(object):
    """读取excel时间数据，做转化"""

    def __init__(self, data_path, sheetname):
        """
        初始化方法

        Args:
            data_path (str): 文件路径
            sheetname (str): 工作表名称

        Returns:
            None

        """
        # 定义一个属性接收文件路径
        self.data_path = data_path
        # 定义一个属性接收工作表名称
        self.sheetname = sheetname
        # 使用xlrd模块打开excel表读取数据
        self.data = xlrd.open_workbook(self.data_path)
        # 根据工作表的名称获取工作表中的内容
        self.table = self.data.sheet_by_name(self.sheetname)
        # 获取工作表的有效行数
        self.rowNum = self.table.nrows

    def readExcel(self):
        """
        从Excel文件中读取信息

        Args:
            无参数，函数内部没有使用任何参数。

        Returns:
            无返回值，仅执行操作。
        """
        for i in range(1, self.rowNum):
            # 获取单元格数据
            type = self.table.cell_value(i, 1)
            cmd = self.table.cell_value(i, 2)
            print(type, cmd)
            is_exist = models.BaseData.objects.filter(cmd=cmd).exists()
            if not is_exist:
                instance = models.BaseData.objects.create(cmd=cmd,type=type)


if __name__ == '__main__':
    datapath = 'D:\\workspace\\temp\case\\大屏数字人指令集-数据分析.xlsx'
    sheetname = '数据分析'
    obj = ReadExcel(datapath, sheetname)
    obj.readExcel()
